<?php
/**
 * Created by PhpStorm.
 * User: xiao
 * Date: 2018/4/12
 * Time: 18:50
 */

namespace App\Http\Utils;


use Illuminate\Http\Exceptions\HttpResponseException;

class JUtil
{
    const SQL_ERROR = '服务器繁忙，请稍后再试';



    /**
     * 格式化数据
     * @param int $code     状态码 0 成功
     * @param array $data   数据体
     * @param string $msg   信息
     * @return array
     */
    public static function P($code = 0,$data = array(), $msg = '')
    {
        $parseData = array();
        if (empty($msg)) $msg = 'success';

        $parseData['code'] = $code;
        $parseData['data'] = $data;
        $parseData['msg'] = $msg;
        return $parseData;
    }

    /**
     * 正确返回
     * @param string $msg
     * @param null $data
     * @return array
     */
    public static function S($msg = '', $data = null)
    {
        return self::P(0, $data,$msg);
    }

    /**
     * 错误返回
     * @param $msg
     * @return array
     */
    public static function E($msg)
    {
        return self::P(-1, null, $msg);
    }


    /**
     * 返回数据
     * @param $data
     * @return \Illuminate\Http\JsonResponse
     */
    public static function R($data)
    {
        return response()->json($data);
    }


    /**
     * Request验证数据的返回错误数据的方法
     * @param $msg  @错误提示信息
     */
    public static function validationError($msg)
    {
        throw (new HttpResponseException(self::R(self::E($msg))));
    }

    /**
     * sql插入错误返回数据
     * @return array
     */
    public static function SqlError()
    {
        return self::E(self::SQL_ERROR);
    }

}